import Vue from 'vue'
import Vuex from 'vuex'

Vue.use(Vuex)

const store = new Vuex.Store({
  state: {
    // 定义一个name，以供全局使用
    name: '张三',
    // 定义一个number，以供全局使用
    number: 0,
    // 定义一个list，以供全局使用
    list: [
      { id: 1, name: '111' },
      { id: 2, name: '222' },
      { id: 3, name: '333' }
    ]
  },
  // 在store对象中增加getters属性
  getters: {
    getMessage(state) {
      // 获取修饰后的name，第一个参数state为必要参数，必须写在形参上
      return 'hello' + state.name
    }
  },
  mutations: {
    setNumber(state) {
      state.number = 6
    },
    setNumberValue(state, payload) { // 增加一个带参数的mutations方法，并且官方建议payload为一个对象
      state.number = payload.number
    }
  }
})

export default store
